package main

import "fmt"

// 闭包 函数外部可以访问到函数内部的变量,突破了函数作用域的封锁
func f1() func(string) string {
	x := make(map[string]string, 3)
	x["name"] = "李四"
	x["age"] = "18"
	return func(key string) string {
		return x[key]
	}
}
func main() {
	name := f1()("name")
	fmt.Printf("name: %v\n", name)
}
